package avicit.bdp.dcs.tools.enums;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2020-10-16
 * @类说明：TemplateFileTitleEnum
 * @修改记录：
 * @注意事项：
 * @主要功能：Excel消息模板文件标题行定义，包括标题定义、列下标、是否可以为null标识
 */
public enum TemplateFileTitleEnum {

    DEVICE_ID("deviceId", 0, false),
    DEVICE_NAME("deviceName", 1, false),
    DEVICE_TYPE_ID("deviceTypeId", 2, true),
    DEVICE_TYPE_NAME("deviceTypeName", 3, true),
    AREA_ID("areaId", 4,true),
    AREA_NAME("areaName", 5, true),
    ASSET_ID("assetId", 6, true),
    ASSET_NAME("assetName", 7, true),
    CUSTOMER_ID("customerId", 8,true),
    CUSTOMER_NAME("customerName", 9, true),
    METADATA("metadata", 10, false);

    /**
     * 名称
     */
    private String title;

    /**
     * 列编号
     */
    private int titleCode;

    /**
     * 是否可以为null，true：可以为null， false：不能为nulll
     */
    private boolean isNull;

    TemplateFileTitleEnum(String title, int titleCode, boolean isNull) {
        this.title = title;
        this.titleCode = titleCode;
        this.isNull = isNull;
    }

    public static TemplateFileTitleEnum getTitleName(int code) {
        for (TemplateFileTitleEnum t : TemplateFileTitleEnum.values()) {
            if (t.getTitleCode() == code) {
                return t;
            }
        }

        return null;
    }

    public int getTitleCode() {
        return titleCode;
    }

    public java.lang.String getTitle() {
        return title;
    }

    public boolean isNull() {
        return isNull;
    }

}
